Skip to content

Conversation

@ruthmade
Copy link

@ruthmade ruthmade commented Feb 4, 2026

Closes #30

Adds thread_originator_guid to message JSON output (history, watch, RPC). This is the field that correctly identifies which message an inline reply is responding to.

Why thread_originator_guid instead of reply_to_guid?

The database has multiple reply-related fields:

  • reply_to_guid — unreliable; often points to most recent message in conversation rather than actual reply target
  • thread_originator_guid — correct field; matches what iMessage UI shows as the reply target

Tested with real iMessage replies — the field correctly identifies the original message.

Changes:

  • MessageRepository.swift — query thread_originator_guid column
  • Message.swift — add threadOriginatorGUID property
  • MessageOutput.swift — include in JSON serialization

Adds thread_originator_guid field to JSON output for history, watch, and RPC.
This field contains the GUID of the message being replied to when users
use iMessage's inline reply feature.

This is the correct field for reply detection - it matches the UI's reply
target, unlike reply_to_guid which can point to different messages.

Closes steipete#30

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: Include reply_to_guid and thread_originator_guid in JSON output

1 participant